Computer systems typically include bulk storage systems, such as magnetic disk drives, optical storage devices, tape drives, or solid state storage drives, among other storage systems. As storage needs have increased in these computer systems, networked storage systems have been introduced which store large amounts of data in a storage environment physically separate from end user computer devices. These networked storage systems typically provide access to bulk data storage over one or more network interfaces to end users or other external systems. In addition to storage of data, remote computing systems include various processing systems that can provide remote computing resources to end users. These networked storage systems and remote computing systems can be included in high-density installations, such as rack-mounted environments.
However, as the densities of networked storage systems and remote computing systems increase, various physical limitations can be reached. These limitations include density limitations based on the underlying storage technology, such as in the example of large arrays of rotating magnetic media storage systems. These limitations can also include computing density limitations based on the various physical space requirements for network interconnect as well as the large space requirements for environmental climate control systems.
In addition to physical space limitations, these bulk storage systems have been traditionally limited in the number of devices that can be included per host, which can be problematic in storage environments where higher capacity, redundancy, and reliability is desired. These shortcomings can be especially pronounced with the increasing data storage and retrieval needs in networked, cloud, and enterprise environments.
Overview
Systems, methods, apparatuses, and software for data storage systems are provided herein. In one example, a data storage system is provided that includes a plurality of storage drives each comprising a Peripheral Component Interconnect Express (PCIe) interface, and configured to store data and retrieve the data stored on associated storage media responsive to storage operations. The data storage system includes one or more processing modules comprising one or more processors communicatively coupled to the plurality of storage drives over a PCIe fabric comprised of one or more PCIe switches. The processors are configured to share a PCIe address space associated with the PCIe fabric for transfer of the storage operations to appropriate ones of the processors that manage ones of the plurality of storage drives.
In another example, a method of operating a data storage system is provided. The method includes, in a plurality of storage drives, storing data and retrieving the data stored on associated storage media responsive to storage operations received over a Peripheral Component Interconnect Express (PCIe) interface. The method includes, in one or more processing modules comprising one or more processors communicatively coupled to the plurality of storage drives over a PCIe fabric comprised of one or more PCIe switches, sharing a PCIe address space associated with the PCIe fabric for transfer of the storage operations to appropriate ones of the processors that manage ones of the plurality of storage drives.
In another example, a modular data storage system is provided. The module data storage system includes a plurality of storage modules each comprising a plurality of solid state drives and configured to communicate over a switched Peripheral Component Interconnect Express (PCIe) fabric. The module data storage system includes a plurality of processing modules each comprising one or more processors that are configured to manage storage operations for a designated subset of the plurality of storage modules over the switched PCIe fabric. The module data storage system includes a plurality of network interfaces individually associated with ones of the processing modules and configured to communicate with the associated ones of the processing modules over the switched PCIe fabric. The module data storage system includes one or more PCIe switches configured to establish the switched PCIe fabric over a plurality of PCIe links to interconnect the storage modules to the processing modules and interconnect the processing modules to the network interfaces. The processors are configured to share a PCIe address space associated with the switched PCIe fabric for transfer of received storage operations to appropriate ones of the processors that manage ones of the plurality of storage drives.